/*
 * lse.h
 *
 *  Created on: 11/03/2013
 *      Author: Alfonso JL
 */

#include <stdlib.h>

#define NULL (void *)0

#ifndef LSE_H_
#define LSE_H_

typedef struct Nodo{
	int dato;
	struct Nodo* siguiente;
}NODO;

typedef NODO* ptrNodo;

typedef struct lista{
	ptrNodo cabecera, cola;
}LSE;

LSE lse_crearLista(void);
ptrNodo lse_crearNodo(int, ptrNodo);
void lse_insPrimero(ptrNodo*, int);
void lse_insFinal(ptrNodo*, int);
void lse_insertar(ptrNodo*, int, int);
ptrNodo lse_localizar(ptrNodo, int);
ptrNodo lse_buscarPos(ptrNodo, size_t); //size_t es una variable de tipo entero no signada de 64-bit
void lse_eliminar(ptrNodo*, int);
void lse_insOrden(ptrNodo*, int);
void lse_recorrer(ptrNodo);

#endif /* LSE_H_ */
